1 research outputs found

    Treemacs: An extensible tree editor

    No full text
    Treemacs is a general purpose editor for trees. Although numerous editors for trees exist, they are not general purpose in the sense that they do not allow editing trees for a broad range of applications. The kinds of applications that a general purpose tree editor can support include: proof trees, document trees, transformation trees, outlines, abstract syntax trees, and high-level program development trees.A general purpose tree editor must include the following features. (1) It must not be restricted to applications where the trees are defined by formal grammar. (2) On the other hand, it must be able to check and/or enforce structural constraints on trees. (3) It must allow for varying the representation of trees both within and between applications. (4) It must be extensible and customizable. (5) It must be possible to vary the time(s) at which structure constraints are checked: continually (i.e. at each tree modification), by user command, or something in between.Treemacs provides these features by building upon the extensible text editor Emacs and extending it with a tree data type and a customizable, extensible tree display algorithm. A number of applications have been written including one for editing abstract syntax trees. This is a difficult application from various points of view and has the particular advantage that it allows for "head-to-head" comparisons with grammar based editors.U of I OnlyETDs are only available to UIUC Users without author permissio
    corecore